package com.xnyzc.lhy.mis.service.cms.role;

import com.xnyzc.lhy.common.entity.Rv;
import com.xnyzc.lhy.mis.entity.param.cms.OfficeParam;
import com.xnyzc.lhy.mis.entity.param.cms.RoleReceive;

import java.util.List;


/**
 * <p>
 * 角色相关
 * </p>
 *
 * @author wangshuo
 * @since 2019-08-07
 */
public interface RoleService {

    /**
     * 获取角色数据
     *
     * @return
     */
    Rv getRoleList();

    /**
     * 获取角色详情
     *
     * @return
     */
    Rv getRoleDetail(Long roleId,String useable);

    /**
     * 新增、修改角色
     *
     * @return
     */
    Rv getUpdateRole(Long roleId,String dataScope,String enname,String isSys,String name,Long officeId,String roleType,String useable,List<Long> menuList);

    /**
     * 删除角色
     *
     * @return
     */
    Rv getDeleteRole(RoleReceive roleReceive);

    /**
     * 获取分配页面数据
     *
     * @return
     */
    Rv getAssignRole(Long roleId);

    /**
     * 从角色中移除用户
     *
     * @return
     */
    Rv getOutRole(RoleReceive roleReceive);


    /**
     * 角色分配列表
     *
     * @return
     */
    Rv getUserRole(Long roleId);


    /**
     * 点击机构获取人员
     *
     * @return
     */
    Rv getRoleInUser(Long officeId);


    /**
     * 角色分配
     *
     * @return
     */
    Rv getRoleAllocation(Long roleId,List<Long> userList);
}
